在前一天的應用中,我們建立了一個Array:
String[] tortoises = new String[10];
tortoises[0] = "Cyclemys trifasciata";
tortoises[1] = "Chinemys reevesiis";
tortoises[2] = "Mauremys mutica";
tortoises[3] = "Ocadia sinensis";
tortoises[4] = "Platysternon megacephalum";
tortoises[5] = "Trachemys scripta elegans";
(以下省略)...
可以發現Array必須事先宣告大小,而ArrayList相較於Array,能夠有更大的彈性。
Array的元素可以放基本型別(像是int, bool等),也可以放object,但ArrayList只能放object。
ArrayList<Integer> //正確
ArrayList<int> //錯誤
因此要怎麼選擇,端看使用情境:
ArrayList實質上是個類別,因此在增加、修改其元素時需要用其方法,像是
ArrayList<String> tortoises = new ArrayList<String>();
tortoises.add("Cyclemys trifasciata");
tortoises.add(1, "Chinemys reevesiis");
tortoises.get(0);
tortoises.remove(1);
tortoises.size();
在我們的xml中,建立一個LinearLayout,並給它id android:id="@+id/rootView"
:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingLeft="16dp"
android:orientation="vertical"
android:id="@+id/rootView"
tools:context=".MainActivity">
</LinearLayout>
在我們的MainActivity.java中
package com.example.android.eventlistener_practice;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;
import android.widget.LinearLayout;
import android.widget.TextView;
import java.util.ArrayList;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// create ArrayList
ArrayList<String> tortoises = new ArrayList<String>();
tortoises.add("Cyclemys trifasciata");
tortoises.add("Chinemys reevesiis");
tortoises.add("Mauremys mutica");
tortoises.add("Ocadia sinensis");
tortoises.add("Platysternon megacephalum");
tortoises.add("Trachemys scripta elegans");
tortoises.add("Chelodina siebenrocki");
tortoises.add( "Carettochelys insculpta");
tortoises.add("Chelydra serpentina");
tortoises.add("Chrysemys picta");
LinearLayout rootView = findViewById(R.id.rootView);
TextView wordView = new TextView(this);
wordView.setText(tortoises.get(0));
rootView.addView(wordView);
}
}
最後在手機上查看: